package com.itheima.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.itheima.dto.PageResult;
import com.itheima.dto.RequestDto;
import com.itheima.pojo.Hotel;

import java.util.List;
import java.util.Map;

public interface HotelService extends IService<Hotel> {
    /**
     * 根据输入内容搜索对应酒店
     * @param requestDto 请求参数
     * @return
     */
    PageResult search(RequestDto requestDto);

    /**
     * 对输入内容进行过滤分组（使用聚合）
     * @param requestDto 请求参数
     * @return
     */
    Map<String, List<String>> filters(RequestDto requestDto);

    /**
     * 搜索框自动补全功能（数据联想）
     * @param key  关键字（可以是首字母）
     * @return
     */
    List<String> suggestion(String key);

    /**
     * 根据id从es索引库中删除对应数据
     * @param id
     */
    void deleteById(Long id);

    /**
     * 根据id从数据库中查询到对应数据，同时添加到es索引库
     * @param id
     */
    void insertById(Long id);

}
